package com.itdachang.design.structural.bridge;

/**
 * 省去了创建很多类
 *
 * 什么场景用到
 * 当一个类存在两个独立变化的维度，且这两个维度都需要扩展时
 * 当一个系统不希望使用继承或因为多层次继承导致系统类的个数急剧增加时
 * 当一个系统需要在构建抽象化角色和具体化角色之间增加更多的灵活性式
 * InputStreamReader桥接模式
 * An InputStreamReader is a bridge from byte streams to character streams
 * @author gcq
 * @Create 2022-02-10
 */
public class MainTest {
    public static void main(String[] args) {
        IPhone iPhone = new IPhone();
        iPhone.setSale(new StudentSale("学生", 1));

        String phone = iPhone.getPhone();
        System.out.println(phone);
    }
}